Why did over, atop, above [...withdelims] stop working when I added the amsmath package?

The six generalized fraction commands over, overwithdelims, atop, atopwithdelims, above, abovewithdelims are expressly forbidden by the amsmath package; use of the recommended forms frac (and variants) is now required, instead of merely recommended. (I tend to construe 's provision of frac, and the lack of any mention in the book of the primitive fraction commands, as an implicit injunction against their use, although I don't think Lamport actually spent a lot of time pondering the issue, and the basic version of frac provides access only to over, not to atop, above, or the withdelims variants.)

Not only is the unusual syntax of the / primitives rather out of place in , but furthermore that syntax seems to be responsible for one of the most significant flaws in /'s mathematical typesetting capabilities: the fact that the current mathstyle at any given point in a math formula cannot be determined until the end of the formula, because of the possibility that a following generalized fraction command will change the mathstyle of the preceding material. To cite two of the worst side effects: mathchoice must actually typeset all four of its arguments, instead of being able to immediately select only one; and, were it possible to always know the current math style at a given point, math font selection would be greatly simplified and the upper limit of 16 different math font fams would never be a problem as text,script[script]font assignments for any fam could take immediate effect and therefore could be changed arbitrarily often within a single formula. More concretely, math font selection difficulties are responsible for many of the more convoluted passages in the source code of 's NFSS (that does font loading on demand) and of the amsmath package, and by extension it has historically been responsible for significant delays in making new features available to end users and for making those features more prone to bugs.

There are additional bad consequences following from the syntax of those generalized fraction commands that only become evident when you do some writing of nontrivial macros for math use. For example, as things currently stand you cannot measure the size of any object in math without going through mathchoice and leaving and reentering math mode via \hbox{$ (which then introduces complications regarding everymath and mathsurround). And it seems that uncertainty about the current mathstyle is the only barrier to allowing the use of mu units with vrule, to make vertical struts in constructing compound symbols or notation. And so on and so forth.